Efficient High-Level Iteration with Accumulators, 1989
نویسنده
چکیده
Accumulators are proposed as a new type of high-level iteration construct for imperative languages. Accumulators are user-programmed mechanisms for successively combining a sequence of values into a single result value. The accumulated result can either be a simple numeric value such as the sum of a series or a data structure such as a list. Accumulators naturally complement constructs that allow iteration through user-programmed sequences of values such as the iterators of CLU and the generators of Alphard. A practical design for high-level iteration is illustrated by way of an extension to Modula-2 called Modula Plus. The extension incorporates both a redesigned mechanism for iterators as well as the accumulator design. Several applications are illustrated including both numeric and data structure accumulation. It is shown that the design supports efficient iteration both because it is amenable to implementation via in-line coding and because it allows high-level iteration concepts to be implemented as encapsulations of efficient low-level manipulations.
منابع مشابه
Universal Accumulators with Efficient Nonmembership Proofs
Based on the notion of accumulators, we propose a new cryptographic scheme called universal accumulators. This scheme enables one to commit to a set of values using a short accumulator and to efficiently compute a membership witness of any value that has been accumulated. Unlike traditional accumulators, this scheme also enables one to efficiently compute a nonmembership witness of any value th...
متن کاملA Method for Data Consistency Support in Mobile Ad hoc Distributed Systems
This paper presents a research-in-progress report on a method for data consistency support in ad-hoc mobile distributed systems, based on the concept of high-level operations “compatibility” and operation history reconciliation. The proposed method also utilizes tuple spaces as a communication model and accumulators as data structures for efficient conflict resolution.
متن کاملFinish Accumulators: a Deterministic Reduction Construct for Dynamic Task Parallelism
Parallel reductions represent a common pattern for computing the aggregation of an associative and commutative operation, such as summation, across multiple pieces of data supplied by parallel tasks. In this paper, we introduce finish accumulators, a unified construct that supports predefined and user-defined deterministic reductions for dynamic async-finish task parallelism. Finish accumulator...
متن کاملThe Complexity of Iterated Multiplication
For a monoid G the iterated multiplication problem is the computa tion of the product of n elements fromG By re ning known completeness arguments we show that as G varies over a natural series of important groups and monoids the iterated multiplication problems are complete for most natural low level complexity classes The completeness is with respect to rst order projections low level reductio...
متن کاملAn effective and efficient code generation algorithm for uniform loops on non-orthogonal DSP architecture
To meet ever-increasing demands for higher performance and lower power consumption, many high-end digital signal processors (DSPs) commonly employ non-orthogonal architecture. This architecture typically is characterized by irregular data paths, heterogeneous registers, and multiple memory banks. Moreover, sufficient compiler support is obviously important to harvest its benefits. However, usua...
متن کامل